home *** CD-ROM | disk | FTP | other *** search
/ SGI Varsity Update 1998 August / SGI Varsity Update 1998 August.iso / docs6.4 / relnotes / ftn77_fe / ch6.z / ch6
Text File  |  1998-07-29  |  14KB  |  462 lines

  1.  
  2.  
  3.  
  4.                                                - 1 -
  5.  
  6.  
  7.  
  8.                     7.2.1 Fortran 77 Front-End Release Notes
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.                                                - 2 -
  69.  
  70.  
  71.  
  72.                     DDDDooooccccuuuummmmeeeennnntttt NNNNuuuummmmbbbbeeeerrrr 000000007777----1111666655559999----000011110000
  73.  
  74.  
  75.                     6.  _B_u_g__F_i_x_e_s
  76.  
  77.                     This chapter briefly describes the bugs that
  78.                     have been fixed in the compiler since release
  79.                     7.1.  Some of the headings are followed by a
  80.                     Silicon Graphics incident report number.
  81.  
  82.  
  83.                     6.1  _B_u_g__F_i_x_e_s__I_n__M_I_P_S_p_r_o__7_._2_._1
  84.  
  85.                        +o Fortran datapools cause core dump on O2
  86.                          machines with the R5000.
  87.  
  88.                          An application would run correctly on O2
  89.                          machines with the R10000, but fail on O2's
  90.                          running with R5000's. The symptom would
  91.                          appear as:
  92.  
  93.                          $ ./testdp
  94.                          map_datapool: trouble sharing /usr/tmp/DP_hello at address 5FDB2000
  95.                          map_datapool (mmap): Invalid argument
  96.                          Abort (core dumped)
  97.  
  98.                          The mmap system call has some restrictions
  99.                          which were not being satisfied by the
  100.                          datapool implementation. The workaround was
  101.                          to allow the user to specify a datapool pad
  102.                          size through a new command line option
  103.                          -FE:datapool_pad. When this option is used
  104.                          a new entry point in the library is called
  105.                          to mmap the datapool. The runtimes from
  106.                          patch 2759 are required for this workaround
  107.                          (Bug #517508).
  108.  
  109.  
  110.                        +o Intrinsic len broken when -i2 -n32 used
  111.  
  112.                          With the 7.2 compilers, compiling this code
  113.                          with -i2 -n32 gives declaration conflicts
  114.                          on intrinsic LEN function.
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.                                                - 3 -
  135.  
  136.  
  137.  
  138.                          %cat foo.f
  139.                                  INTEGER*2 LEN
  140.                                  INTRINSIC LEN
  141.                                  CALL SUB(LEN('ABC'))
  142.                                  END
  143.                                  SUBROUTINE SUB(I)
  144.                                  INTEGER*2 I
  145.                                  PRINT *,I
  146.                                  END
  147.  
  148.                          %f77 -i2 -n32 foo.f
  149.  
  150.                          "foo.f", line 2: error(2085): declaration conflicts with previous
  151.                                    specifications
  152.                                    INTRINSIC LEN
  153.                                              ^
  154.                          1 error detected in the compilation of "foo.f".
  155.  
  156.                          This has been fixed (Bug #527165).
  157.  
  158.  
  159.                        +o -i2 broken with -n32 or -64
  160.  
  161.                          Compiling the following program with -i2
  162.                          under -n32 or -64 would result in an error:
  163.  
  164.  
  165.                          $ cat tst.f
  166.                                REAL*4 A(96000)
  167.                                REAL*4 B(32000)
  168.                                EQUIVALENCE (B,A(64001))
  169.                                PRINT *,A(1),B(1)
  170.                                END
  171.                          $ f77 -i2 -n32 tst.f
  172.                          "tst.f", line 3: warning(2057): integer conversion resulted in
  173.                          truncation
  174.                                  EQUIVALENCE (B,A(64001))
  175.                          "tst.f", line 3: error(2134): subscript out of range
  176.                                  EQUIVALENCE (B,A(64001))
  177.  
  178.  
  179.                          This has been fixed (Bug #559245).
  180.  
  181.  
  182.                        +o Compilation failures when using -craylibs.
  183.  
  184.                          The following program would cause a compile
  185.                          time abort when using the -craylibs option:
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.                                                - 4 -
  201.  
  202.  
  203.  
  204.                          %cat readkk.f
  205.                                SUBROUTINE READKK(A,NDIME,NU)                                     READKK 2
  206.                                IMPLICIT REAL*8(A-H,O-Z)                                          READKK 3
  207.                                DIMENSION A(NDIME,NDIME)                                          READKK 4
  208.                                READ (NU) A                                                       READKK 5
  209.                                RETURN                                                            READKK 6
  210.                                END                                                               READKK 7
  211.  
  212.                          %f77 -c -O3 -craylibs readkk.f
  213.                          Signal: Segmentation fault in Global Optimization -- Mainopt Lowering phase.
  214.                          Error: Signal Segmentation fault in phase Global Optimization -- Mainopt
  215.                          Lowering -- processing aborted
  216.  
  217.                          This has been fixed (Bug #576655, #538635)
  218.  
  219.  
  220.                        +o Bus Error when compiling with -IPA
  221.  
  222.                          Compiling a program that contains an
  223.                          initialization of an element of a COMMON
  224.                          block would abort with a bus error in the
  225.                          compiler if the program linked with a
  226.                          shared object that contains a declaration
  227.                          of the same COMMON block and the
  228.                          compilation was done with the ----IIIIPPPPAAAA option.
  229.                          This has been fixed (Bug #521139).
  230.  
  231.  
  232.                        +o Limit on number of files which could be
  233.                          compiled from one f77 command line when
  234.                          floating licenses were used
  235.  
  236.                          The Fortran 77 compiler would stop and
  237.                          issue the following warnings when trying to
  238.                          compile more files than the open file
  239.                          descriptor limit on a single command line
  240.                          under floating licensing.
  241.  
  242.                          For Example:
  243.                             (Floating Licenses being used)
  244.  
  245.                          %limit descriptors
  246.                          descriptors     200
  247.  
  248.                          %f77  *.f          (more than 200 .f files in current directory)
  249.                          file196.f:
  250.                          cc: Error: can't create output file: /tmp/ctmpa001YG
  251.                             : Too many open files
  252.  
  253.  
  254.                          This has been fixed (Bug #556876).
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.                                                - 5 -
  267.  
  268.  
  269.  
  270.                     6.2  _B_u_g__F_i_x_e_s__I_n__M_I_P_S_p_r_o__7_._2
  271.  
  272.                        +o Very slow compilation of Fortran file.
  273.                          Under certain circumstances, the
  274.                          compilation of a certain Fortran source
  275.                          code file would take approximately 45
  276.                          minutes to compile.
  277.                          This has been fixed (Bug #475298).
  278.  
  279.                        +o Datapool: padding between datapool elements
  280.                          Datapool items were always aligned on
  281.                          doubleword boundary, regardless of their
  282.                          types.  This has been fixed so that they
  283.                          are aligned according to the type of each
  284.                          item. (Bug #453040).
  285.  
  286.                        +o Compiler coredumps when compiling with -32
  287.                          -g option.
  288.                          Under certain circumstances, the compiler
  289.                          would dump core when compiling files -32
  290.                          -g.  This has been fixed.  (Bug #372302)
  291.  
  292.                        +o Namelist I/O problem
  293.                          Fixed the problem in namelist I/O which
  294.                          resulted in the error "variable not in
  295.                          namelist" (Bug #359690)
  296.  
  297.                        +o Structures misalignemnt
  298.                          Fixed a problem where structures were not
  299.                          aligned properly and caused a bus error.
  300.                          (Bug #443526)
  301.  
  302.                        +o Rejecting -p flag
  303.                          The following code would core dump when
  304.                          compiled with -p.
  305.  
  306.                          a = 1.0
  307.                          b = 2.0
  308.                          c = matmul(a,b)
  309.                          print *, c
  310.                          stop
  311.                          end
  312.  
  313.                          As -p is no longer supported; the user
  314.                          should use ssrun -pcsamp, etc. to do pc-
  315.                          sampling.  The compiler was changed to
  316.                          reject -p with a warning.  (Bug #444089)
  317.  
  318.                        +o f77 -n32 causes problems reading
  319.                          unformatted files
  320.                          Under certain circumstances programs
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.                                                - 6 -
  333.  
  334.  
  335.  
  336.                          compiled -n32 would have problems reading
  337.                          unformatted files.  This has been fixed.
  338.                          (Bug #454102)
  339.  
  340.                        +o n32/64  f77 compilers do not accept
  341.                          -NCxxxx, xxxx>1000
  342.                          Code with more than 1000 continuation lines
  343.                          would get an error similar to the
  344.                          following:
  345.  
  346.                          Command-line error(2414): Invalid number of continuation lines in -NC
  347.  
  348.                          This has been fixed.  (Bug #461738)
  349.  
  350.                        +o f77 structure alignment problem when using
  351.                          -32 compiler option, bus error
  352.                          This has been fixed.  (Bug #468837)
  353.  
  354.                        +o f77 unformatted write with negative implied
  355.                          do fails
  356.                          The following code fragment would not be
  357.                          compiled correctly:
  358.  
  359.                          c
  360.                          c  This does not work when using f77 -mips4
  361.                          c
  362.                                  open(11,file='file1.dat',form='unformatted')
  363.                                  write(11) imax,1,1
  364.                                  write(11) (xt(i),i=imax,1,-1),
  365.                               &          (yt(i),i=imax,1,-1),
  366.                               &          (zt(i),i=imax,1,-1)
  367.                                  close(11)
  368.                          c
  369.  
  370.                          This has been fixed.  (Bug #468899)
  371.  
  372.                        +o f77: compiler error: can't find local for
  373.                          idn = 10, offset = 40
  374.                          The following code would not be compiled
  375.                          correctly -static -g -c:
  376.  
  377.                                  SUBROUTINE MAPCRV (XMAP, NPARRA, DATSTR, ERR)
  378.                                  CHARACTER DATSTR*(*)
  379.                                  GO TO 10
  380.                                  ENTRY MAPSYM (XMAP, NPARRA, ISYM, KOLREF, HTSYM, SYMANG, XLTABL, N
  381.                               +  LTABL, DATSTR, ERR)
  382.  
  383.                             10   CONTINUE
  384.                                  RETURN
  385.                                  END
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.                                                - 7 -
  399.  
  400.  
  401.  
  402.                          This has been fixed.  (Bug #469034)
  403.  
  404.                        +o Assertion failure with -r8 -O3 during LNO
  405.                          phase
  406.                          Under certain circumstances, an f77
  407.                          compilation would abort with the following
  408.                          error message:
  409.  
  410.                          ### Assertion failure at line 270 of ../../be/lno/snl_trans.cxx:
  411.                          ### Compiler Error in file foo1.f during Loop Nest Optimizer phase:
  412.                          ### Projection failed!
  413.                          f77 INTERNAL ERROR:  /usr/lib32/cmplrs/be returned non-zero status 1
  414.  
  415.                          This has been fixed.  (Bug #473750).
  416.  
  417.  
  418.                        +o f77 -64 fails on close of non-existent file
  419.                          Closing a non-existent file causes error
  420.                          when the executable was compiled with the
  421.                          "-64" option.  This has been fixed.  (Bug
  422.                          #477232)
  423.  
  424.  
  425.                        +o mfef77 core dumps with undefined variable
  426.                          When compiling incorrect code with -n32
  427.                          option, in which an array has no type
  428.                          declaration, /usr/lib32/cmplrs/mfef77 would
  429.                          core dump.  This has been fixed.  (Bug
  430.                          #492186)
  431.  
  432.  
  433.                        +o Optimization -O3 gives wrong result in f77
  434.                          version 7.1
  435.                          Under a certain condition using -O3 in
  436.                          conjunction with f77 -n32 would produce a
  437.                          program which gives incorrect results.
  438.                          This has been fixed.  (Bug #517093)
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.